package com.ramnight.sql2.dialect;

import java.util.Collection;
import java.util.Map;

public interface Dialect {

	String wrapCol(String word);

	String wrapBlank(String word);

	String concatLong(Long... longs);

	String concatString(String... strs);

	String concatCol(String... strs);

	String concat(String... strs);

	String wrapCurve(String str);

	StringBuilder wrapCurve(StringBuilder sb);

	Object[] join(Object o, Collection<Object> c);

	Object[] join(Collection<Object> c1, Collection<Object> c2);

	String generateInsertSql(String table, Map<String, Object> propMap);

	String generateReplaceSql(String table, Map<String, Object> propMap);

	String generateUpdateSql(String table, Map<String, Object> propMap, String where);

	String generateDeleteSql(String table, String where);

	String concatPlaceholder(int size);

	String generateIncreaseSql(boolean isIncrease, String table, String col, String where);

	String as(String sql, String as);

}